In computer systems, memory is a limited hardware resource that must be shared by multiple processes. Modern computer systems utilize memory management to dynamically allocate portions of main memory to one or more processes or objects for execution by the processor. Many applications utilize a large amount of memory, which can result in low memory or out of memory (OOM) conditions where no additional memory can be allocated for use by other programs or the operating system.
Accordingly, there is a need for improved systems and methods for monitoring memory consumption in virtualized environments.